type expAst = 
          Program of expAst list * expAst list
        | Bloc of string*string list*string list*expAst list
        | Affectation of string list*expAst list
        | Value of bool
        | Variable of string
        | Appel of string * expAst list
	| Include of string
	| Entier of int
	| ListAffectation of expAst list

type node =   
    IN
  | AND
  | RAM
  | ROM
  | RAMOUT
  | ROMOUT
  | OR
  | XOR
  | NOT
  | REG
  | REGIN
  | REGOUT
  | TRUE
  | FALSE
  | INIT

type bloc = {mutable entrees: int list;
	     mutable sorties: int list;
	     mutable bools: int list;
	     mutable link : int array;
	     mutable rego: int list;
	     mutable ladj: (int list) array;
	     mutable noeuds : node array; 
	     mutable names : string array;
	     mutable nbElem: int}
